package com.iot.ammeter.service.web.campus;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.iot.ammeter.dto.web.campus.RoomDTO;
import com.iot.ammeter.entity.web.campus.Room;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iot.ammeter.query.web.campus.RoomQuery;

import java.util.List;

/**
 * <p>
 * 房间表 服务类
 * </p>
 *
 * @author basil
 * @since 2021-09-25
 */
public interface RoomService extends IService<Room> {

    /**
     * 添加楼栋信息
     *
     * @param roomDTO 房间信息
     * @return 添加成功或者添加失败
     */
    String addRoom(RoomDTO roomDTO);

    /**
     * 编辑楼栋信息
     *
     * @param RoomId  房间id
     * @param roomDTO 房间信息
     * @return 编辑成功或者编辑失败提示
     */
    String editRoom(String RoomId, RoomDTO roomDTO);

    /**
     * 获取楼栋信息列表
     *
     * @param page      请求页码
     * @param pageSize  每页数量
     * @param roomQuery 房间查询条件
     * @return ResponseResult
     */
    IPage<RoomDTO> getRoomList(int page, int pageSize, RoomQuery roomQuery);

    /**
     * 批量添加楼栋信息
     *
     * @param roomDTO 房间信息
     * @return 返回批量添加成功或者失败提示
     */
    String batchAddRoom(RoomDTO roomDTO);

    /**
     * 删除/批量删除房间
     *
     * @param roomIds 房间id数组
     * @return 删除成功或者失败提示
     */
    Integer batchDelRoom(String[] roomIds);

    /**
     * 按查询条件获取全部房间
     *
     * @param roomQuery 查询条件
     * @return 所有房间集合
     */
    @Deprecated
    List<RoomDTO> exportRoomList(RoomQuery roomQuery);
}
